home *** CD-ROM | disk | FTP | other *** search
/ X User Tools / X User Tools (O'Reilly and Associates)(1994).ISO / sun4c / archive / tcltk.z / tcltk / man / mann / scale.n < prev    next >
Text File  |  1994-09-20  |  13KB  |  441 lines

  1. '\"
  2. '\" Copyright (c) 1990 The Regents of the University of California.
  3. '\" All rights reserved.
  4. '\"
  5. '\" Permission is hereby granted, without written agreement and without
  6. '\" license or royalty fees, to use, copy, modify, and distribute this
  7. '\" documentation for any purpose, provided that the above copyright
  8. '\" notice and the following two paragraphs appear in all copies.
  9. '\"
  10. '\" IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY
  11. '\" FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
  12. '\" ARISING OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
  13. '\" CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  14. '\"
  15. '\" THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
  16. '\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
  17. '\" AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
  18. '\" ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
  19. '\" PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
  20. '\" 
  21. '\" $Header: /user6/ouster/wish/man/RCS/scale.n,v 1.10 93/04/01 09:52:53 ouster Exp $ SPRITE (Berkeley)
  22. '/" 
  23. .\" The definitions below are for supplemental macros used in Tcl/Tk
  24. .\" manual entries.
  25. .\"
  26. .\" .HS name section [date [version]]
  27. .\"    Replacement for .TH in other man pages.  See below for valid
  28. .\"    section names.
  29. .\"
  30. .\" .AP type name in/out [indent]
  31. .\"    Start paragraph describing an argument to a library procedure.
  32. .\"    type is type of argument (int, etc.), in/out is either "in", "out",
  33. .\"    or "in/out" to describe whether procedure reads or modifies arg,
  34. .\"    and indent is equivalent to second arg of .IP (shouldn't ever be
  35. .\"    needed;  use .AS below instead)
  36. .\"
  37. .\" .AS [type [name]]
  38. .\"    Give maximum sizes of arguments for setting tab stops.  Type and
  39. .\"    name are examples of largest possible arguments that will be passed
  40. .\"    to .AP later.  If args are omitted, default tab stops are used.
  41. .\"
  42. .\" .BS
  43. .\"    Start box enclosure.  From here until next .BE, everything will be
  44. .\"    enclosed in one large box.
  45. .\"
  46. .\" .BE
  47. .\"    End of box enclosure.
  48. .\"
  49. .\" .VS
  50. .\"    Begin vertical sidebar, for use in marking newly-changed parts
  51. .\"    of man pages.
  52. .\"
  53. .\" .VE
  54. .\"    End of vertical sidebar.
  55. .\"
  56. .\" .DS
  57. .\"    Begin an indented unfilled display.
  58. .\"
  59. .\" .DE
  60. .\"    End of indented unfilled display.
  61. .\"
  62. '\"    # Heading for Tcl/Tk man pages
  63. .de HS
  64. .ds ^3 \\0
  65. .if !"\\$3"" .ds ^3 \\$3
  66. .if '\\$2'cmds'       .TH \\$1 1 \\*(^3 \\$4
  67. .if '\\$2'lib'        .TH \\$1 3 \\*(^3 \\$4
  68. .if '\\$2'tcl'        .TH \\$1 n \\*(^3 Tcl "Tcl Built-In Commands"
  69. .if '\\$2'tk'         .TH \\$1 n \\*(^3 Tk "Tk Commands"
  70. .if '\\$2'tclc'        .TH \\$1 3 \\*(^3 Tcl "Tcl Library Procedures"
  71. .if '\\$2'tkc'         .TH \\$1 3 \\*(^3 Tk "Tk Library Procedures"
  72. .if '\\$2'tclcmds'         .TH \\$1 1 \\*(^3 Tk "Tcl Applications"
  73. .if '\\$2'tkcmds'         .TH \\$1 1 \\*(^3 Tk "Tk Applications"
  74. .if t .wh -1.3i ^B
  75. .nr ^l \\n(.l
  76. .ad b
  77. ..
  78. '\"    # Start an argument description
  79. .de AP
  80. .ie !"\\$4"" .TP \\$4
  81. .el \{\
  82. .   ie !"\\$2"" .TP \\n()Cu
  83. .   el          .TP 15
  84. .\}
  85. .ie !"\\$3"" \{\
  86. .ta \\n()Au \\n()Bu
  87. \&\\$1    \\fI\\$2\\fP    (\\$3)
  88. .\".b
  89. .\}
  90. .el \{\
  91. .br
  92. .ie !"\\$2"" \{\
  93. \&\\$1    \\fI\\$2\\fP
  94. .\}
  95. .el \{\
  96. \&\\fI\\$1\\fP
  97. .\}
  98. .\}
  99. ..
  100. '\"    # define tabbing values for .AP
  101. .de AS
  102. .nr )A 10n
  103. .if !"\\$1"" .nr )A \\w'\\$1'u+3n
  104. .nr )B \\n()Au+15n
  105. .\"
  106. .if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
  107. .nr )C \\n()Bu+\\w'(in/out)'u+2n
  108. ..
  109. '\"    # BS - start boxed text
  110. '\"    # ^y = starting y location
  111. '\"    # ^b = 1
  112. .de BS
  113. .br
  114. .mk ^y
  115. .nr ^b 1u
  116. .if n .nf
  117. .if n .ti 0
  118. .if n \l'\\n(.lu\(ul'
  119. .if n .fi
  120. ..
  121. '\"    # BE - end boxed text (draw box now)
  122. .de BE
  123. .nf
  124. .ti 0
  125. .mk ^t
  126. .ie n \l'\\n(^lu\(ul'
  127. .el \{\
  128. .\"    Draw four-sided box normally, but don't draw top of
  129. .\"    box if the box started on an earlier page.
  130. .ie !\\n(^b-1 \{\
  131. \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
  132. .\}
  133. .el \}\
  134. \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
  135. .\}
  136. .\}
  137. .fi
  138. .br
  139. .nr ^b 0
  140. ..
  141. '\"    # VS - start vertical sidebar
  142. '\"    # ^Y = starting y location
  143. '\"    # ^v = 1 (for troff;  for nroff this doesn't matter)
  144. .de VS
  145. .mk ^Y
  146. .ie n 'mc \s12\(br\s0
  147. .el .nr ^v 1u
  148. ..
  149. '\"    # VE - end of vertical sidebar
  150. .de VE
  151. .ie n 'mc
  152. .el \{\
  153. .ev 2
  154. .nf
  155. .ti 0
  156. .mk ^t
  157. \h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
  158. .sp -1
  159. .fi
  160. .ev
  161. .\}
  162. .nr ^v 0
  163. ..
  164. '\"    # Special macro to handle page bottom:  finish off current
  165. '\"    # box/sidebar if in box/sidebar mode, then invoked standard
  166. '\"    # page bottom macro.
  167. .de ^B
  168. .ev 2
  169. 'ti 0
  170. 'nf
  171. .mk ^t
  172. .if \\n(^b \{\
  173. .\"    Draw three-sided box if this is the box's first page,
  174. .\"    draw two sides but no top otherwise.
  175. .ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
  176. .el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
  177. .\}
  178. .if \\n(^v \{\
  179. .nr ^x \\n(^tu+1v-\\n(^Yu
  180. \kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
  181. .\}
  182. .bp
  183. 'fi
  184. .ev
  185. .if \\n(^b \{\
  186. .mk ^y
  187. .nr ^b 2
  188. .\}
  189. .if \\n(^v \{\
  190. .mk ^Y
  191. .\}
  192. ..
  193. '\"    # DS - begin display
  194. .de DS
  195. .RS
  196. .nf
  197. .sp
  198. ..
  199. '\"    # DE - end display
  200. .de DE
  201. .fi
  202. .RE
  203. .sp .5
  204. ..
  205. .HS scale tk
  206. .BS
  207. '\" Note:  do not modify the .SH NAME line immediately below!
  208. .SH NAME
  209. scale \- Create and manipulate scale widgets
  210. .SH SYNOPSIS
  211. \fBscale\fI \fIpathName \fR?\fIoptions\fR?
  212. .SH "STANDARD OPTIONS"
  213. .LP
  214. .nf
  215. .ta 4c 8c 12c
  216. .VS
  217. \fBactiveForeground\fR    \fBborderWidth\fR    \fBfont\fR    \fBorient\fR
  218. \fBbackground\fR    \fBcursor\fR    \fBforeground\fR    \fBrelief\fR
  219. .VE
  220. .fi
  221. .LP
  222. See the ``options'' manual entry for details on the standard options.
  223. .SH "WIDGET-SPECIFIC OPTIONS"
  224. .ta 4c
  225. .LP
  226. .nf
  227. Name:    \fBcommand\fR
  228. Class:    \fBCommand\fR
  229. Command-Line Switch:    \fB\-command\fR
  230. .fi
  231. .IP
  232. Specifies the prefix of a Tcl command to invoke whenever the value of
  233. the scale is changed interactively.  The actual command consists
  234. of this option followed by
  235. a space and a number.  The number indicates the new value of the
  236. scale.
  237. .LP
  238. .nf
  239. Name:    \fBfrom\fR
  240. Class:    \fBFrom\fR
  241. Command-Line Switch:    \fB\-from\fR
  242. .fi
  243. .IP
  244. Specifies the value corresponding to the left or top end of the
  245. scale.  Must be an integer.
  246. .LP
  247. .nf
  248. Name:    \fBlabel\fR
  249. Class:    \fBLabel\fR
  250. Command-Line Switch:    \fB\-label\fR
  251. .fi
  252. .IP
  253. Specifies a string to displayed  as a label for the scale.  For
  254. vertical scales the label is displayed just to the right of the
  255. top end of the scale.  For horizontal scales the label is displayed
  256. just above the left end of the scale.
  257. .LP
  258. .nf
  259. Name:    \fBlength\fR
  260. Class:    \fBLength\fR
  261. Command-Line Switch:    \fB\-length\fR
  262. .fi
  263. .IP
  264. .VS
  265. Specifies the desired long dimension of the scale in screen units
  266. (i.e. any of the forms acceptable to \fBTk_GetPixels\fR).
  267. .VE
  268. For vertical scales this is the scale's height;  for horizontal scales
  269. it is the scale's width.
  270. .LP
  271. .nf
  272. Name:    \fBshowValue\fR
  273. Class:    \fBShowValue\fR
  274. Command-Line Switch:    \fB\-showvalue\fR
  275. .fi
  276. .IP
  277. Specifies a boolean value indicating whether or not the current
  278. value of the scale is to be displayed.
  279. .LP
  280. .nf
  281. Name:    \fBsliderForeground\fR
  282. Class:    \fBsliderForeground\fR
  283. Command-Line Switch:    \fB\-sliderforeground\fR
  284. .fi
  285. .IP
  286. Specifies the color to use for drawing the slider under normal conditions.
  287. When the mouse is in the slider window then the slider's color is
  288. determined by the \fBactiveForeground\fR option.
  289. .LP
  290. .nf
  291. Name:    \fBsliderLength\fR
  292. Class:    \fBSliderLength\fR
  293. Command-Line Switch:    \fB\-sliderlength\fR
  294. .fi
  295. .IP
  296. .VS
  297. Specfies the size of the slider, measured in screen units along the slider's
  298. long dimension.  The value may be specified in any of the forms acceptable
  299. to \fBTk_GetPixels\fR.
  300. .LP
  301. .nf
  302. .VS
  303. Name:    \fBstate\fR
  304. Class:    \fBState\fR
  305. Command-Line Switch:    \fB\-state\fR
  306. .fi
  307. .IP
  308. Specifies one of two states for the scale:  \fBnormal\fR or \fBdisabled\fR.
  309. If the scale is disabled then the value may not be changed and the scale
  310. won't activate when the mouse enters it.
  311. .VE
  312. .LP
  313. .nf
  314. Name:    \fBtickInterval\fR
  315. Class:    \fBTickInterval\fR
  316. Command-Line Switch:    \fB\-tickinterval\fR
  317. .fi
  318. .IP
  319. Must be an integer value.  Determines the spacing between numerical
  320. tick-marks displayed below or to the left of the slider.  If specified
  321. as 0, then no tick-marks will be displayed.
  322. .LP
  323. .nf
  324. Name:    \fBto\fR
  325. Class:    \fBTo\fR
  326. Command-Line Switch:    \fB\-to\fR
  327. .fi
  328. .IP
  329. Specifies the value corresponding to the right or bottom end of the
  330. scale.  Must be an integer.  This value may be either less than or
  331. greater than the \fBfrom\fR option.
  332. .LP
  333. .nf
  334. Name:    \fBwidth\fR
  335. Class:    \fBWidth\fR
  336. Command-Line Switch:    \fB\-width\fR
  337. .fi
  338. .IP
  339. .VS
  340. Specifies the desired narrow dimension of the scale in screen units
  341. (i.e. any of the forms acceptable to \fBTk_GetPixels\fR).
  342. .VE
  343. For vertical scales this is the scale's width;  for horizontal scales
  344. this is the scale's height.
  345. .BE
  346.  
  347. .SH DESCRIPTION
  348. .PP
  349. The \fBscale\fR command creates a new window (given by the
  350. \fIpathName\fR argument) and makes it into a scale widget.
  351. Additional
  352. options, described above, may be specified on the command line
  353. or in the option database
  354. to configure aspects of the scale such as its colors, orientation,
  355. and relief.  The \fBscale\fR command returns its
  356. \fIpathName\fR argument.  At the time this command is invoked,
  357. there must not exist a window named \fIpathName\fR, but
  358. \fIpathName\fR's parent must exist.
  359. .PP
  360. A scale is a widget that displays a rectangular region and a
  361. small \fIslider\fR.  The rectangular region corresponds to a range
  362. of integer values (determined by the \fBfrom\fR and \fBto\fR options),
  363. and the position of the slider selects a particular integer value.
  364. The slider's position (and hence the scale's value) may be adjusted
  365. by clicking or dragging with the mouse as described in the BINDINGS
  366. section below.  Whenever the scale's value is changed, a Tcl
  367. command is invoked (using the \fBcommand\fR option) to notify
  368. other interested widgets of the change.
  369. .PP
  370. Three annotations may be displayed in a scale widget:  a label
  371. appearing at the top-left of the widget (top-right for vertical
  372. scales), a number displayed just underneath the slider
  373. (just to the left of the slider for vertical scales), and a collection
  374. of numerical tick-marks just underneath the current value (just to the left of
  375. the current value for vertical scales).  Each of these three
  376. annotations may be selectively enabled or disabled using the
  377. configuration options.
  378.  
  379. .SH "WIDGET COMMAND"
  380. .PP
  381. The \fBscale\fR command creates a new Tcl command whose
  382. name is \fIpathName\fR.  This
  383. command may be used to invoke various
  384. operations on the widget.  It has the following general form:
  385. .DS C
  386. \fIpathName option \fR?\fIarg arg ...\fR?
  387. .DE
  388. \fIOption\fR and the \fIarg\fRs
  389. determine the exact behavior of the command.  The following
  390. commands are possible for scale widgets:
  391. .TP
  392. \fIpathName \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
  393. Query or modify the configuration options of the widget.
  394. If no \fIoption\fR is specified, returns a list describing all of
  395. the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
  396. information on the format of this list).  If \fIoption\fR is specified
  397. with no \fIvalue\fR, then the command returns a list describing the
  398. one named option (this list will be identical to the corresponding
  399. sublist of the value returned if no \fIoption\fR is specified).  If
  400. one or more \fIoption\-value\fR pairs are specified, then the command
  401. modifies the given widget option(s) to have the given value(s);  in
  402. this case the command returns an empty string.
  403. \fIOption\fR may have any of the values accepted by the \fBscale\fR
  404. command.
  405. .TP
  406. \fIpathName \fBget\fR
  407. Returns a decimal string giving the current value of the scale.
  408. .TP
  409. \fIpathName \fBset\fR \fIvalue\fR
  410. This command is invoked to change the current value of the scale,
  411. and hence the position at which the slider is displayed.  \fIValue\fR
  412. gives the new value for the scale.
  413.  
  414. .SH BINDINGS
  415. .PP
  416. When a new scale is created, it is given the following initial
  417. behavior by default:
  418. .TP 20
  419. \fB<Enter>\fR
  420. Change the slider display to use \fBactiveForeground\fR instead of
  421. \fBsliderForeground\fR.
  422. .TP 20
  423. \fB<Leave>\fR
  424. Reset the slider display to use \fBsliderForeground\fR instead of
  425. \fBactiveForeground\fR.
  426. .TP 20
  427. \fB<ButtonPress-1>\fR
  428. Change the slider display so that the slider appears sunken rather
  429. than raised.  Move the slider (and adjust the scale's value)
  430. to correspond to the current mouse position.
  431. .TP 20
  432. \fB<Button1-Motion>\fR
  433. Move the slider (and adjust the scale's value) to correspond to
  434. the current mouse position.
  435. .TP 20
  436. \fB<ButtonRelease-1>\fR
  437. Reset the slider display so that the slider appears raised again.
  438.  
  439. .SH KEYWORDS
  440. scale, widget
  441.